//package cn.ilikes.tools.hbase.jpa.clients;
//
//import java.util.Properties;
//
//import cn.ilikes.tools.hbase.jpa.JPAHbasePersistenUnitEnv;
//import cn.ilikes.tools.hbase.jpa.JPAHbaseSystemEnv;
//import cn.ilikes.tools.hbase.jpa.SysConfigs;
//import cn.ilikes.tools.hbase.jpa.SysConfigs.DataStoreType;
//import cn.ilikes.tools.hbase.jpa.clients.datahander.DataHander;
//import cn.ilikes.tools.hbase.jpa.clients.nodes.Node;
//import cn.ilikes.tools.hbase.jpa.configs.Configure;
//import cn.ilikes.tools.hbase.jpa.configs.JPAHBaseConfigurationException;
//import cn.ilikes.tools.hbase.jpa.indexs.IndexClient;
//import cn.ilikes.tools.hbase.jpa.indexs.JPAHBsaeDefultIndexClient;
//import cn.ilikes.tools.hbase.jpa.metadatas.sub.configs.Datastorefactory.DataStore;
//import cn.ilikes.tools.hbase.jpa.metadatas.sub.configs.Datastorefactory.DataStore.Connection;
//import cn.ilikes.tools.hbase.jpa.metadatas.sub.configs.Indexfactory;
//import cn.ilikes.tools.hbase.jpa.schemas.HBaseSchemaManager;
//import cn.ilikes.tools.hbase.jpa.schemas.JPAHBaseSchemaException;
//import cn.ilikes.tools.hbase.jpa.schemas.SchemaManager;
//
//public class SimpleClientFactory implements Client {
//
//	private AbClient client;
//
//	public static DataStore createDatastore(String masterNode, String masterPort, String zookeeperQuorum, String zookeeperClientPort) {
//		DataStore dataStore = new DataStore();
//		dataStore.setName("test  dataStore");
//		Connection connection = new Connection();
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_master_node, masterNode);
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_master_port, masterPort);
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_master_pool_size, "300");
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_zookeeper_quorum, zookeeperQuorum);
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_zookeeper_client_port, zookeeperClientPort);
//		dataStore.setConnection(connection);
//		return dataStore;
//
//	}
//
//	public static DataStore createTestDatastore() {
//		DataStore dataStore = new DataStore();
//		dataStore.setName("test  dataStore");
//		Connection connection = new Connection();
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_master_node, "localhost");
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_master_port, "2180");
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_master_pool_size, "300");
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_zookeeper_quorum, "localhost");
//		connection.getProperties().setProperty(SysConfigs.hbase_datasore_zookeeper_client_port, "2181");
//		dataStore.setConnection(connection);
//		return dataStore;
//
//	}
//
//	public static JPAHbasePersistenUnitEnv createTestJPAHbasePersistenUnitEnv(String persistenceUnitsName) {
//
//		try {
//			JPAHbaseSystemEnv jPAHbaseSystemEnv = JPAHbaseSystemEnv.getHbaseSystemEnv();
//			jPAHbaseSystemEnv.initSystemEnv();
//
//			JPAHbasePersistenUnitEnv hbasePersistenUnitEnv = new JPAHbasePersistenUnitEnv(persistenceUnitsName, jPAHbaseSystemEnv);
//
//			//解析persistence file 。得到 persistenceUnitsName 相关信息，并load 到 JPA HBase system env .
//			Configure configure = new Configure(new Properties());
//
//			configure.config(persistenceUnitsName, hbasePersistenUnitEnv);
//
//			return hbasePersistenUnitEnv;
//
//		} catch (JPAHBaseConfigurationException e) {
//			throw new JPAHBaseClientsRuntimeException(e);
//		}
//
//	}
//
//	public static Indexfactory createTestIndexfactory() {
//		Indexfactory indexfactory = new Indexfactory();
//
//		return indexfactory;
//
//	}
//
//	public SimpleClientFactory(JPAHbasePersistenUnitEnv hbasePersistenUnitEnv) throws JPAHBaseSchemaException {
//
//		SchemaManager schemaManager = new HBaseSchemaManager(hbasePersistenUnitEnv);
//
//		schemaManager.execSchema(SchemaManager.ExecType.no);
//
//		String jpaDialect = hbasePersistenUnitEnv.gethBasePersistenceUnitMetadata().getProperties().getProperty(SysConfigs.jpa_dialect);
//
//		DataStoreType dataStoreType = DataStoreType.valueOf(jpaDialect);
//
//		DataStore dataStore = hbasePersistenUnitEnv.gethBasePersistenceUnitMetadata().getDataStore();
//
//		dataStore.setDataStoreType(dataStoreType);
//
//		IndexClient indexManager = new JPAHBsaeDefultIndexClient(hbasePersistenUnitEnv.gethBasePersistenceUnitMetadata().getIndexfactory());
//
//		AbClient client = ClientFactoryImple.createClient(hbasePersistenUnitEnv.gethBasePersistenceUnitMetadata().getDataStore(), indexManager, hbasePersistenUnitEnv);
//		
//		this.setClient(client);
//	}
//
//	@Override
//	public boolean isOpen() {
//
//		return false;
//	}
//
//	
//
//	@Override
//	public <V> void save(Node node) throws JPAHBaseClientsException {
//		client.save(node);
//	}
//
//	public void setClient(AbClient client) {
//		this.client = client;
//	}
//
//	 
//	
//	@Override
//	public void flush() {
//		// TODO Auto-generated method stub
//		
//	}
//
//	@Override
//	public void delete(Node node) throws JPAHBaseClientsException {
//		// TODO Auto-generated method stub
//		
//	}
//
//	@Override
//	public <V> V findById(Class<V> clazz, Object key) throws JPAHBaseClientsException {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public IndexClient getIndexClient() {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public DataHander getDataHander() {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public <V> void update(Node node) throws JPAHBaseClientsException {
//		// TODO Auto-generated method stub
//		
//	}
//
//}
